package bancosys.tec.services.implementor.descriptor;

import java.util.Map;

import jmine.tec.di.scope.TypedScope;

/**
 * Extrai os objetos que o servico exporta
 */
public interface ServiceOutputExtractor {

    /**
     * Coleta os objetos a serem
     * 
     * @param target {@link Object}
     * @param scope {@link TypedScope}
     * @return {@link Map} de {@link String} para {@link Object}
     */
    Map<String, Object> getOutput(Object target, TypedScope scope);

    /**
     * Devolve um mapa que representa os nomes de coluna e tipos de dados
     * 
     * @return {@link Map}
     */
    Map<String, Class<?>> getOutputTypes();

}
